package org.ala.tiktools_clickhouse_generator.tools;

/**
 *
 *	@author ala
 *	@date 2025年6月9日
 */
public class NameTools {

	
    /**
     *  驼峰命名
     */
    public static String hump(String name) {
        char[] cs = name.toCharArray();
        cs[0] = upToLow(cs[0]);
        //  去掉下划线，并且下划线后的第一个字母大写
        int j = 0;
        for (int i = 0 ; i < cs.length ; i++) {
            if (cs[i] == '_') {
                cs[j++] = lowToUp(cs[++i]);
            } else {
                cs[j++] = cs[i];
            }
        }
        return new String(cs, 0, j);
    }
    /**
     * 	首字母大写
     */
    public static String upFirst(String str) {
    	char[] cs = str.toCharArray();
        cs[0] = lowToUp(cs[0]);
        return new String(cs);
    }
    public static char upToLow(char c) {
        return c >= 'A' && c <= 'Z' ? (char)(c + ('a' - 'A')) : c;
    }
    public static char lowToUp(char c) {
        return c >= 'a' && c <= 'z' ? (char)(c - ('a' - 'A')) : c;
    }
    
    
    public static void main(String[] args) {
    	String str = "aaaa";
    	String b = NameTools.upFirst(str);
    	System.out.println(str + " " + b);
    }
}
